package net.homelinux.ajay.net.ondisk.view.dialogs.client;

import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.DialogBox;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Panel;
import com.google.gwt.user.client.ui.Widget;

public abstract class OkCancelPanel extends HorizontalPanel implements ClickListener {

  private Button buttonCancel;
  private Button buttonOk;
  private DialogBox parent;

  public OkCancelPanel(DialogBox parent) {
    super();
    init(parent);
  }

  private void init(DialogBox parent) {
    buttonCancel = new Button("Cancel");
    buttonCancel.addClickListener(this);
    add(buttonCancel);
    buttonOk = new Button("Ok");
    buttonOk.addClickListener(this);
    add(buttonOk);
    
    this.parent = parent;
  }

  public void onClick(Widget sender) {
    if(sender == buttonOk){
      onOk();
    }
    else{
      onCancel();
    }
    parent.setVisible(false);
  }

  public abstract void onOk();

  public abstract void onCancel();
  
}
